using MediatR;
using RBAC.ErrorCode;

namespace RBAC.Write.Api.Application.Command.ERP.PurchasingManagement.RawMaterialSuppliers
{
    /// <summary>
    /// 修改供应商信息命令
    /// </summary>
    public class UpdateRawMaterialSupplierCommand : IRequest<APIResult<int>>
    {
        /// <summary>
        /// 供应商ID（必填）
        /// </summary>
        public long Id { get; set; }

        // 主表可更新字段（任意提供则更新）
        /// <summary>
        /// 供应商名称
        /// </summary>
        public string? Supplier_Name { get; set; }
        /// <summary>
        /// 供应商别名
        /// </summary>
        public string? Supplier_Alias { get; set; }
        /// <summary>
        /// 简称
        /// </summary>
        public string? Short_Name { get; set; }
        /// <summary>
        /// 省市区
        /// </summary>
        public string? Province_City { get; set; }
        /// <summary>
        /// 供应类别
        /// </summary>
        public string? Supply_Category { get; set; }
        /// <summary>
        /// 供应商等级
        /// </summary>
        public string? Supplier_Level { get; set; }
        /// <summary>
        /// 供应料品
        /// </summary>
        public string? Supply_Products { get; set; }
        /// <summary>
        /// 公司地址
        /// </summary>
        public string? Company_Address { get; set; }
        /// <summary>
        /// 邮编
        /// </summary>
        public string? Postal_Code { get; set; }
        /// <summary>
        /// 电话
        /// </summary>
        public string? Phone { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string? Remarks { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        public int? Status { get; set; }

        // 业务联系人（提供则更新/新增一条）
        /// <summary>
        /// 业务联系人姓名
        /// </summary>
        public string? BusinessContact_Name { get; set; }
        /// <summary>
        /// 业务联系人手机号
        /// </summary>
        public string? BusinessMobile_Phone { get; set; }

        // 财务联系人（提供则更新/新增一条）
        /// <summary>
        /// 财务联系人姓名
        /// </summary>
        public string? FinanceContact_Name { get; set; }
        /// <summary>
        /// 财务联系人手机号
        /// </summary>
        public string? FinanceMobile_Phone { get; set; }

        // 开票信息（任一字段提供则更新/新增一条）
        /// <summary>
        /// 开票银行
        /// </summary>
        public string? Bank_Name { get; set; }  
        /// <summary>
        /// 开票银行地址
        /// </summary>
        public string? Bank_Address { get; set; }
        /// <summary>
        /// 开户账号
        /// </summary>
        public string? Account_Number { get; set; }
        /// <summary>
        /// 税号
        /// </summary>
        public string? Tax_Number { get; set; }
    }
}
